The present invention relates to the routing of connections in a telecommunications network, and especially to routing in packet switched networks.
A common type of packet switched network today is the Asynchronous Transfer Mode (ATM) network. The ATM technology is connection-oriented, that is, resources are allocated in the network during to the establishment of a connection between two or more users of the network.
Each ATM connection has a traffic contract specifying the capacity, behaviour and quality of service of the connection. The traffic contract is specified when a connection is requested by a calling user and is maintained for the lifetime of the connection. Thus, the consequences of an inefficient routing decision will affect a connection for as long as the connection remains open. Thus, the path through the network should be selected carefully to ensure that the tic contract can be met as long as the connection exists.
In a private Asynchronous Transfer Mode (ATM) network the PNNI function, as specified by the ATM Forum will probably become the chosen function for resource management with respect to routing and signalling, and other functions. A part of the PNNI is a so called dynamic routing protocol meaning that a node in the network will announce and update information regarding its own identity, the resources on its outgoing links and in the node, and address reachability, to all neighboring nodes. This way, in the end all nodes in the network will have a complete hierarchical view of the topology of the network, including its available resources.
The PNNI protocol is defined for use between private ATM switches and between private ATM networks. The abbreviation PNNI stands for either Private Network Node Interface or Private Network-to-Network Interface, reflecting these two areas of use. PNNI routing is used in a private network of ATM switching systems. PNNI includes a routing protocol for distribution of topology information between switches and groups of switches. The functions of the PNNI routing protocol include, among other things:
discovery of neighbours and link and node status,
synchronization of topology databases,
construction of the routing hierarchy,
transmission of PNNI topology state elements from each node to all other nodes.
A topology state parameter is a generic term that refers to either a link state parameter or a nodal state parameter. Topology state parameters fall into two categories: topology metric and topology attribute. A topology metric is a topology state parameter that requires the values of the state parameters of all links and node along a given path to be combined in an additive manner to determine whether the path is acceptable and/or desirable for carrying a given connection. A topology attribute is a topology state parameter that is considered individually to determine whether a given link or node is acceptable and/or desirable for carrying a given connection. In this document the word parameter is used to cover both metrics and attributes.
Two basic routing techniques are used in networking: source routing and hop-by-hop routing. In source routing, the originating switching system selects the path to the destination based on its local knowledge of the network topology. Other systems along the path obey the routing instructions from the source.
In hop-by-hop routing each system independently selects the next hop, which results in a progress toward the destination provided the decisions made at each hop are sufficiently consistent. This technique has some serious disadvantages in a packet switched network. Routing loops may be created, and the processing cost associated with path selection increases for each hop.
To avoid the problems of hop-by-hop routing PNNI uses source routing for all connection setup requests. The first node in a peer group selects the entire path across that peer group and across all other peer groups for the purpose of reaching the destination. The path is encoded as a set of Designated Transit Lists (DTLs) explicitly included in the connection setup request. The DTLs specify every node used in transit across the peer group and may also specify the logical links to be used between the nodes. If a node along the path is unable to follow the DTL for a specific connection setup request the node must perform a so called crankback, that is, return the connection setup request to the node in which the DTL was created.
In general, all links between nodes and all nodes have available resources assigned to them. The available resources in a node are specified for every pair of ports in the node. This is normally done by specifying a default resource for the node and deviations from the default resource for each pair of ports. An exception to the above is the simple node, in which infinite resources are available, and which is therefore not associated with any costs.
A least-cost route is the route with the highest resource margin requiring the minimum allocation of resources compared to other routes, considering both the links between the nodes and the links within the nodes. The resources of the network are nodes and links with their associated available relative capacity and quality of service. As resources are allocated along the least-cost route it may as a result cease to be the least cost route. Another route will then become the least cost route. To rebuild routing tables, the link cost function must be used first to be able to compute the least-cost route.
In this document, the word link is taken to mean either a link between nodes or a path through a node, between two ports of the node. There are two main types of links through nodes: spokes and bypasses. A spoke is a connection in a logical node representation between an interior reference point of the logical node referred to as the nucleus, and a port representing links to other nodes. A bypass is a connection between two ports that does not pass through the nucleus.
A routing algorithm should be able to adapt to a network operator""s routing policy, which may change over time. A cost function can be made to match the operator""s requirements, which will normally be for maximum call throughput combined with other specific requirements.
Normally routing is not carried out for each call setup request. Instead, a routing table is built, comprising information about possible routes to all destinations that may be reached through the network.
One known routing algorithm commonly used today is the Dijkstra algorithm. This and other known algorithms are capable of routing based on one constraint, for example, to minimize the number of hops or the delay. In other words: given a network topology and a single parameter associated with each link in the graph, Dijkstra""s algorithm can quickly find the path between two points minimizing the sum of link parameters in the path. This method is not adequate for the ATM service category real time Variable Bit Rate (rt-VBR), in which multiple constraints must be considered.
Routing for connections with multiple performance constraints complicates the problem in two ways. First, each link must be described in terms of multiple parameters. Second, the ability of a link to participate in a path depends on the requirements of the connection being routed. Having fill topology information and status about actual network resources and capacity is necessary to be able to compare different link costs with each other in order to build least-cost routes to every other destination in the network. The PNNI distributes complete routing information to all nodes, making it desirable to use Dijkstra""s algorithm, which, however can only optimize on one parameter. For example, the path for which the delay is minimized may very well have an unacceptably low bandwidth or high delay variation, or vice versa.
One solution to the problem could be to run Dijkstra once for each different type of parameter in the network. Then every parameter would be optimized separately. This would lead to a set of overlapping routes where every route is optimized with regard to only one parameter constraint. From the set of overlapping routes, then the shortest path could be selected as the route having the largest number of overlapping routes. This algorithm is probably inefficient for large networks.
Another solution could be to use the Dijkstra algorithm and optimize only one topology state parameter, under the condition that every topology state parameter will fulfil the host""s requirements regarding transmission performance. To ensure that every topology state parameter will fulfil the host""s requirements, a generic connection admission control would have to be performed, considering a unique host""s requirement directly. To use this solution routing would have to be performed for each incoming call request. This algorithm cannot be used to build routing tables, because every host""s specific requirements cannot be considered when building routing tables, as the table would then become too big. Also, the requirements of one particular host may not be satisfactory to all other hosts.
It is an object of the present invention to create least cost routes from every node in the network to every destination that is reachable from that node.
It is another object of the present invention to enable the selection of a link, or a whole path, in an ATM network with multiple constraints.
It is yet another object to enable the routing of rt-VBR connections.
It is another object to enable the routing of all types of connections with one algorithm.
It is yet another object of the invention to enable the building of routing tables based on multiple constraints.
It is another object to achieve a method for path cost or link cost computation reflecting the resource margin, and the resources that must be allocated, in such a way that the higher the resource margin the lower the path cost or link cost.
These objects are achieved by the present invention by a method in a packet switched network of obtaining the link having the lowest cost to a certain destination comprising the steps of
for each link to the destination, calculating the link cost based on at least two parameters; and
selecting the link having the lowest link cost.
According to a preferred embodiment, the calculated link costs are stored in a routing table.
The parameters used comprise the maximum cell transfer delay (CTD), the peak-to-peak Cell Delay Variation (CDV), the Available Cell Rate (AvCR), the Maximum Cell Rate (MCR) and the Cell Loss Ratio (CLR). An Administrative Weight (AW) may also be included. These parameters are specified in the PNNI routing specification, agreed by the ATM Forum, and will be explained in somewhat more detail below.
In a preferred embodiment, each parameter is weighted by a weighting factor (k1, k2, . . . , k6) and scaled by an exponent (xcex1, xcex2, xcex3, xcex4, xcex5).
A method in a packet switched network of obtaining the path having the lowest cost to a certain destination, is also disclosed, comprising the steps of
for each link in the path, calculating the link cost according to any one of the preceding claims;
Adding the link costs of each path to the destination, to form the path costs;
Selecting the path having the lowest path cost.
A cost depending on the number of hops performed along the path, may be added to the path cost of each path. Certain non-additive parameters may also be added to the path cost.
A node in a packet switched network is also disclosed, said node being adapted to communicate the available resources of all its links, spokes and bypasses to all its neighbouring nodes;
receive information about available resources from all neighbouring nodes;
for each link, spoke and bypass about which it has information, calculate the link cost based on at least two parameters;
store the calculated information in a routing table.
The invention offers the following advantages:
The routing with respect to multiple constraints in a PNNI network environment specifically addressing the traffic contracts of the rt-VBR service categories is enabled.
The multiple parameters to be considered are reduced to one single entity by the algorithm.
It is adaptable to dynamic routing policies, giving different parameters different priority depending on the actual traffic characteristic and optimization criteria.
The link cost and path cost functions can be tailored according to the requirements of the network operator regarding resource utilization, routing performance, call setup throughput and other parameters, and can be changed as the requirements change.
The scalability and flexibility of the network are kept.